package itheima.translate;

public class MortonCodeDemo {
    public static void main(String[] args) {
        // 测试数据
        int row = 5;  // 二进制: 101
        int col = 3;  // 二进制: 011

        // 编码
        String mortonStr = MortonCode.encode(row, col);
        System.out.printf("编码: 行 %d (二进制 %s), 列 %d (二进制 %s)%n",
                row, Integer.toBinaryString(row),
                col, Integer.toBinaryString(col));
        System.out.printf("莫顿码二进制字符串: %s%n%n", mortonStr);

        // 解码
        int[] decoded = MortonCode.decode(mortonStr);
        System.out.printf("解码: 莫顿码 %s%n", mortonStr);
        System.out.printf("解码结果: 行 %d, 列 %d%n", decoded[0], decoded[1]);

        // 验证
        if (decoded[0] == row && decoded[1] == col) {
            System.out.println("编码解码验证成功");
        } else {
            System.out.println("编码解码验证失败");
        }
    }
}
